1. Technical Field
The present invention relates, in general, to providing resource resolution in a data processing system, and, more specifically, to resolving resources to non-conflicting values for those specified as allowable for a particular device within a data processing system. Further, the present invention relates to selecting unique non-conflicting values from various permissible sets of values for resolving resource conflicts of various devices attached to a bus within a data processing system.
2. Description of the Related Art
In a typical data processing system, several devices are attached to a bus within the processing system and require system resources in order to function properly. Additionally, the operating system, or other software support, detects which devices are attached to the bus and what system resources are needed for the devices to operate properly. Many times resource conflicts occur with respect to which device has access at which time. The operating system is used to resolve the resources to non-conflicting values from those specified as allowable for the device.
One solution to this problem has been to use a table swap algorithm for processing conflicting device attributes, but has been found to be deficient in that not all possible values are explored in the search for a solution. Specifically, when the operating system searches to resolve resource conflicts, conflicting values were assigned in some instances and there was no logical method for predicting which devices would have thier resource requirements resolved when a solution for all resource requirements did not exist.
Accordingly, what is needed is an improved method and system for a data processing system to resolve resource allocation conflicts amongst various devices connected within the data processing system via a bus. This method and system should be able to select unique non-conflicting values from various permissible sets of values and address any specific requirements within the operating system's resource specification to optimize or at least enhance performance.